package com.internetCafes.spms.web.certificate.bizservice;

import com.internetCafes.spms.web.certificate.model.certificate.req.CertTransactionInfoReq;

import java.util.List;

/**
 * 证书流转业务处理接口
 *
 * @author HHKJ-SERVER-ZJ 2022/6/14 15:02
 */
public interface CertTransactionBizService {

    /**
     * 保存配置证书流转信息
     *
     * @param req 请求参数
     */
    void save(CertTransactionInfoReq req);

    /**
     * 挂出
     *
     * @param req 流转请求参数
     */
    void affiliationOut(CertTransactionInfoReq req);

    /**
     * 借出
     *
     * @param req 流转请求参数
     */
    void borrowOut(CertTransactionInfoReq req);

    /**
     * 收回
     *
     * @param req 流转请求参数
     */
    void affiliationOutReturn(CertTransactionInfoReq req);

    /**
     * 还回
     *
     * @param req 流转请求参数
     */
    void borrowOutReturn(CertTransactionInfoReq req);

    /**
     * 批量收回 证书
     *
     * @param reqList 请求列表
     */
    void affiliationOutReturnBatchByCertIdList(List<CertTransactionInfoReq> reqList);

    /**
     * 批量还回证书
     *
     * @param req 请求参数列表
     */
    void borrowOutReturnBatchByCertIdList(CertTransactionInfoReq req);
}
